package com.campus.help.dto;

import com.campus.help.entity.Secondhand;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 二手商品输入DTO（用于接收前端数据）
 *
 * @author campus-help
 * @since 2025-10-17
 */
@Data
public class SecondHandProductInputDTO {
    
    private Long id;
    
    /**
     * 商品名称 (前端字段名：productName)
     */
    private String productName;
    
    /**
     * 商品描述
     */
    private String description;
    
    /**
     * 类别ID (前端字段名：categoryId)
     */
    private Long categoryId;
    
    /**
     * 价格
     */
    private BigDecimal price;
    
    /**
     * 原价
     */
    private BigDecimal originalPrice;
    
    /**
     * 成色 (前端字段名：condition)
     */
    private String condition;
    
    /**
     * 卖家姓名
     */
    private String sellerName;
    
    /**
     * 联系方式
     */
    private String contactInfo;
    
    /**
     * 交易地点
     */
    private String location;
    
    /**
     * 商品状态
     */
    private String status;
    
    /**
     * 商品图片
     */
    private String images;
    
    /**
     * 转换为实体
     */
    public Secondhand toEntity() {
        Secondhand entity = new Secondhand();
        entity.setId(this.id);
        entity.setTitle(this.productName);  // 字段映射
        entity.setDescription(this.description);
        entity.setTypeId(this.categoryId);  // 字段映射
        entity.setPrice(this.price);
        entity.setOriginalPrice(this.originalPrice);
        entity.setConditionStatus(this.condition);  // 字段映射
        entity.setLocation(this.location);
        entity.setStatus(this.status);
        entity.setImages(this.images);
        
        // 处理联系方式（假设是手机号）
        if (this.contactInfo != null && !this.contactInfo.isEmpty()) {
            entity.setPhone(this.contactInfo);
        }
        
        return entity;
    }
}

